#include<bits/stdc++.h>
using namespace std;
const int N=1e5+1;
int n,ans,cnt1,cnt2,s[N],pos;
bool f1=true,flag;
struct duel{
    int r;
    bool f;
}a[N];
bool cmp(duel u,duel v){
    return u.r<=v.r;
}
int main(){
    freopen("duel.in","r",stdin);
    freopen("duel.out","w",stdout);
    ios::sync_with_stdio(false);
    cin.tie(),cout.tie();
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i].r;
        if(a[i].r!=1&&a[i].r!=2) f1=false;
    }
    if(f1){
        for(int i=1;i<=n;i++){
            if(a[i].r==1) cnt1++;
            else cnt2++;
        }
        cout<<max(cnt1,cnt2);
        return 0;
    }
    sort(a+1,a+n+1,cmp);
    for(int i=1;i<=n;i++){
        if(a[i].r!=a[i-1].r) s[++pos]++;
        else s[pos]++;
    }
    for(int i=1;i<=n;i++) a[i].f=true;
    while(true){
        flag=false;
        for(int i=2;i<=n;i++){
            if(a[i].r==-1||!a[i].f) continue;
            for(int j=1;j<=i;j++){
                if(a[j].r==-1||a[i].r==a[j].r) continue;
                a[j].r=-1;
                a[i].f=false;
                flag=true;
                break;
            }
        }
        if(!flag) break;
    }
    for(int i=1;i<=n;i++) if(a[i].r!=-1) ans++;
    cout<<ans;
}
